Over the last few years, significant changes have taken place in the telephony industry. Traditionally, phone calls were made over dedicated telephone circuits over the Public Switched Telephone Network (PSTN). In the PSTN world, a “line” is an electrical circuit that is set up and provided to a customer for a phone call. Such a circuit remains in place for the duration of a phone call. The circuits typically connect an on-premise Private Branch Exchange (PBX) system at a home or other facility to a telephone company switch. Generally, a discrete circuit is needed for each potential phone call that may occur at any given time. Thus, for example, if a commercial enterprise requires the ability to handle up to 100 calls at any given time, then that enterprise will need 100 circuits.
With the advent of Voice over Internet Protocol (VoIP) technology, many people and businesses are switching to VoIP phone systems. VoIP telephones can communicate with conventional telephones, and vice-versa. In a VoIP call, a speaker's speech is digitized at the originating end and is transmitted as small bundles of data (called “packets”) over the Internet. At the receiving end, the packets are reassembled into a signal audible to the human ear. Although the name VoIP includes the word “voice”, VoIP technologies are used for transporting not just audio or voice data, but video (multimedia) data, file download data, and other types of data. The advantages of VoIP solutions over traditional telephone systems include reduced equipment and phone services cost, useful communication-related features, and the ability to integrate a person's phone with other computing devices.
Typically, VoIP calls share a data network with other computing devices as VoIP calls are carried over the Internet. However, the Internet is a large collection of networks owned and operated by different and unrelated third parties, thus making it very difficult to control the path of individual data packets. For example, packets can be lost, delayed, or corrupted as they travel from a source to a destination hopping through intermediate computer nodes. If one or more intermediate computer networks (or nodes) are down (for example, due to disaster, natural calamities, routine maintenance, or some other unpredictable reason), the packets may need to be re-routed through some other computer networks (or nodes). To summarize, the geographically diverse and unpredictable routing infrastructure of the Internet poses significant problems for routing VoIP packets and other data transfer communications.
Furthermore, different applications (and their associated data) that leverage VoIP systems often have unique and diverse requirements/characteristics. For example, a VoIP connection (or other data transfer connection or protocol) can be used for transferring a voice call (i.e., audio data) for a call-based application, and also for downloading large files for a web download application. However, the requirements for these two different applications are frequently different. For example, because web browsing experiences are not significantly affected by connection delays, a 150 millisecond delay (for example) may pass unnoticed to a user downloading large files as long as the download speed is sufficient. That is, such a user would still receive their requested information quickly as long as the download speeds are acceptable, and a small delay at the beginning of the download would be virtually imperceptible. However, a 150-millisecond delay in transferring voice (audio data) during a call would be extremely frustrating to users, and could even result in interference with natural speech progression or an “echo”. Thus, applications utilizing VoIP systems or other data transfer systems may have unique requirements that are not provided by conventional, non-optimized VoIP systems.
Generally speaking, a VoIP system comprises three parts: at least one on-premise PBX system, a VoIP service over computer networks, and one or more VoIP-compatible devices (e.g., telephones) installed at a premise. Conventional VoIP systems typically offer a solution that takes a segmented approach by addressing a specific portion of these three above-mentioned parts. For example, some VoIP systems specialize in the PBX system but do not address the VoIP service. Other systems offer VoIP service but not the on-premise PBX system(s). Consequently, such approaches suffer from limited flexibility, features, and reliability, and are usually affected by network congestion and delays.
Therefore, there is a long-felt but unresolved need for a system or method that unifies the on-premise PBX systems, VoIP service, and VoIP-compatible devices so as to provide an end-to-end optimized delivery of application data over data networks. The system should be sophisticated to include monitoring and management functionalities, and adjust communication session parameters to assure the best possible transmission quality. For example, the system should provide (a real-time or close to real-time) evaluation of network conditions, e.g., which networks are congested, affected by weather conditions, preferable for transmission of certain data types, and other factors associated with the geographically diverse and unpredictable routing infrastructure of the Internet. The system should be able to optimally adapt for a wide variety of applications that leverage the VoIP connection.
Additionally, the system should be easily scalable, i.e., users or consumers of the system should be able to order as many lines as they expect to need during peak times. Also, in the event of seasonal or unexpected VoIP traffic increases, the system should be able to provision extra VoIP circuits “on the fly” to handle such increases. Moreover, the system should be able to provide notification (along with relevant recommendations) to a user if anomalies in the network are detected, e.g., in the event of a degrading local area or wide area network connection. The system should be reliable, flexible, and easy to use, and yet provide users with a variety of useful communication-related features (e.g., automatic attendants, multi party conferencing, unlimited voice mail, etc.) in addition to cost savings.